热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

更多|粘合剂_Linux有多种少发行版?真可谓百花齐放

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Linux有多种少发行版?真可谓百花齐放相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Linux 有多种少发行版?真可谓百花齐放相关的知识,希望对你有一定的参考价值。




Linux

目前有数百个活跃的 Linux 发行版,还有更多正在开发中。为什么有这么多发行版,我们需要所有发行版吗?

与 Windows 和 macOS 不同,安装 Linux 并不是那么容易。在 Internet 上搜索 Linux 会为您带来许多不同名称的操作系统,但没有一个明确称为“Linux”。为什么会这样?

Linux 正日益成为经验丰富的技术极客和普通用户的首选操作系统。但是为什么有成千上万的操作系统或“发行版”都被称为“Linux”呢?为什么开发人员不断创建更多相同类型的操作系统?让我们来了解一下。

什么是 Linux 发行版?

首先,了解​​Linux 实际上是什么​​很重要。Linux 不是操作系统,而是内核,是将计算机硬件与操作系统连接起来的粘合剂。当您通过单击图标在计算机上启动应用程序时,内核与操作系统通信以启动应用程序并使用硬件(即监视器)在屏幕上显示输出。

操作系统由底层内核、应用程序和通常的​​图形用户界面​​组成。Linux 是内核,所有使用它的操作系统都称为“Linux distributions”。“distributions”一词来自与其他用户共享基于 Linux 的操作系统的过程,也称为“distributing”,因为内核和操作系统通常是免费的。

是什么催生了这么多 Linux 发行版?

Linux 内核在 GNU 通用公共许可证下获得许可,该许可证允许任何人查看、编辑和分发内核的任何应用程序。但并不总是这样。

早些时候,Unix 是一种流行的操作系统,但其源代码归 AT&T 所有。一段时间后,大量基于 Unix 的操作系统 BSD(Berkeley Software Distribution)起源于加州大学伯克利分校。当时还有其他基于 Unix 的操作系统,它们都彼此非常不同。

建立基于 Unix 的操作系统的标准的不可用以及当时操作系统之间的阻力催生了一个被称为“ ​​Unix 战争​​”的时代。分发其 Unix 版本的不同供应商开始建立自己的标准,包括 AT&T 和 BSD。

Linux

1983 年,Richard Stallman 启动了 GNU 项目,专注于​​自由和开源软件​​的开发和分发。GNU 项目旨在创建一个免费版本的 Unix,一个任何人都可以自由复制和分发的版本。

当时许多应用程序都是在 GNU 的通用公共许可证下开发的,包括 TAR 和 Emacs。但该项目缺乏开源内核,即帮助操作系统和应用程序与硬件交互的计算机部分。

1991 年,也就是 GNU 项目启动八年后,Linus Torvalds 开始开发 Linux。一年后,Linux 在通用公共许可证下重新发布,成为我们现在所知的 GNU/Linux。由于 Linux 内核是在 GPL 下获得许可的,因此任何人都可以在内核之上创建操作系统并自由分发。

免费启动您自己的操作系统的能力鼓励了许多开发人员开始他们的分发。当时发布了包括 Debian、Red Hat 和 Slackware 在内的许多发行版,启动了 Linux 革命。

为什么要创建新的 Linux 发行版?

开发人员不断创建和分发新的基于 Linux 的操作系统的主要原因是他们可以做到。Linux 内核是免费的。这些应用程序是免费的。在内核之上创建整个操作系统的资源是免费的。

如今,人们很少从头开始创建发行版。相反,他们采用另一个流行的发行版,或者使用前一个作为基础构建一个新的操作系统,或者使用新的图形用户界面和添加的应用程序重新设计它。

​​Ubuntu 本身有几个 reskin​​,即 Xubuntu、Kubuntu 和 Lubuntu。这三种风格之间的唯一区别是桌面环境。与预装在 Ubuntu 上的默认定制 GNOME 桌面不同,Xubuntu、Kubuntu 和 Lubuntu 分别附带 XFCE、KDE Plasma 和 LXDE。

操作系统的主要目标是让用户更容易进行桌面计算。当有人想要操作系统中的新功能时,传统的做法是向开发操作系统的公司提供反馈。GNU 工程彻底改变了这一流程。

使用、开发、提供反馈、实施反馈并最终分发开源发行版的是用户。您可以自由创建自己的发行版并在您梦想的操作系统中添加您想要的功能。

任何具有相似意识形态和观点的人都可以为项目做出贡献并开始帮助开发人员。无需联系公司或填写反馈表即可为操作系统添加额外功能。

不仅是用户,甚至大公司也为公司内部使用创建了新的内部发行版。​​微软的 CBL-Mariner​​就是一个流行的例子。这主要是因为大公司不想使用其他用户创建的发行版,而宁愿从头开始开发自己的操作系统,或者在另一个主流发行版之上开发自己的操作系统。

Linux 项目已经发展到像谷歌这样的科技巨头已经开始在他们的一些项目中依赖 Linux 内核的程度。以 android 和 Chrome OS 为例。Android 在底层使用 Linux 内核,Chrome OS 建立在 2000 年发布的发行版 Gentoo Linux 之上。

Linux

桌面 Linux 碎片化的另一个原因是可用的设备种类繁多。除了台式电脑,其他基于 ARM 处理器的设备也需要操作系统才能运行。Linux 通过为开发人员提供基础来为他们想要的任何处理器系列创建操作系统来解决这个问题。

Raspbian OS 是​​专门为 Raspberry Pi​​设备创建的发行版。您还可以找到无数为在专有操作系统供应商不支持的旧处理器上运行而开发的发行版。

真的需要这么多发行版吗?

如果您只是需要一台计算机和一个操作系统来完成工作,当然不需要。只要符合您的要求,您就可以使用任何操作系统。但是对于那些想在设备和数字生活方面面临选择的人来说,Linux 是不二之选。

您可以尝试几个 Linux 操作系统并​​选择您认为最好的一个​​,或者继续使用发行版并测试新发行版。Linux 为您提供了这样的选择。只要人们继续支持并为开源生态系统做出贡献,您就会不断看到新的发行版正在互联网上免费开发和发布。

这就是开源的工作原理!

尽管许多专有操作系统(如 Android 和 macOS)都有封闭源代码库,但他们已将 Linux 作为其项目的基础。这是完全可以接受的,因为发布 Linux 内核的许可证允许任何人无限制地修改和分发代码。

由于基于 Linux 的操作系统背后的巨大社区支持,发行版中不断添加新的独家功能。尽管您可以在 Windows 和 macOS 等其他专有操作系统上找到许多此类功能,但其中一些仅限于少数 Linux 发行版。

翻译

​​Why Does Linux Have So Many Distributions? Linux Distros Explained​​

关注

关注微信公众号【进击云原生】,扫码关注,了解更多咨询,更有免费资源供您学习




推荐阅读
  • 如何在Ubuntu系统中直接使用Snap安装软件
    Canonical与Opera Software近日宣布,基于Chromium的Opera浏览器现已作为Snap包提供给Ubuntu用户,显著提升了在Linux操作系统上的安装便捷性和兼容性。通过Snap,用户可以在Ubuntu系统中轻松安装和更新Opera浏览器,享受更流畅的浏览体验。此外,Snap的容器化特性还确保了应用的安全性和稳定性,为用户提供更加可靠的软件环境。 ... [详细]
  • 十七年过去,MacBook Pro 从小众走向大众
    十七年过去,MacBook Pro 从小众走向大众 ... [详细]
  • Linux 信号处理全面解析(第六篇)
    本文深入探讨了信号及其来源。信号本质上是对中断机制的软件层面模拟,从原理上看,进程接收到信号与处理器接收到中断请求类似。信号具有异步特性,能够在进程执行过程中随时触发,从而中断当前操作并执行相应的处理程序。文章详细分析了信号的生成、传递和处理机制,并讨论了常见的信号类型及其应用场景。此外,还介绍了如何在 Linux 系统中使用信号进行进程间通信和错误处理,为开发者提供了实用的技术指导。 ... [详细]
  • 本文详细解析了如何使用 jQuery 实现一个在浏览器地址栏运行的射击游戏。通过源代码分析,展示了关键的 JavaScript 技术和实现方法,并提供了在线演示链接供读者参考。此外,还介绍了如何在 Visual Studio Code 中进行开发和调试,为开发者提供了实用的技巧和建议。 ... [详细]
  • 利用PaddleSharp模块在C#中实现图像文字识别功能测试
    PaddleSharp 是 PaddleInferenceCAPI 的 C# 封装库,适用于 Windows (x64)、NVIDIA GPU 和 Linux (Ubuntu 20.04) 等平台。本文详细介绍了如何使用 PaddleSharp 在 C# 环境中实现图像文字识别功能,并进行了全面的功能测试,验证了其在多种硬件配置下的稳定性和准确性。 ... [详细]
  • 优化后的标题:PHP分布式高并发秒杀系统设计与实现
    PHPSeckill是一个基于PHP、Lua和Redis构建的高效分布式秒杀系统。该项目利用php_apcu扩展优化性能,实现了高并发环境下的秒杀功能。系统设计充分考虑了分布式架构的可扩展性和稳定性,适用于大规模用户同时访问的场景。项目代码已开源,可在Gitee平台上获取。 ... [详细]
  • 深入解析:RKHunter与AIDE在入侵检测中的应用与优势
    本文深入探讨了RKHunter与AIDE在入侵检测领域的应用及其独特优势。通过对比分析,详细阐述了这两种工具在系统完整性验证、恶意软件检测及日志文件监控等方面的技术特点和实际效果,为安全管理人员提供了有效的防护策略建议。 ... [详细]
  • 本文详细介绍了在Ubuntu操作系统中使用GDB调试工具深入分析和调试标准库函数`printf`的源代码过程。通过具体步骤和实例,展示了如何设置断点、查看变量值及跟踪函数调用栈,帮助开发者更好地理解`printf`函数的工作原理及其内部实现细节。 ... [详细]
  • Linux驱动更新管理器:领先技术革新,甚至Windows 10也在参考其先进功能
    Linux驱动更新管理器在操作系统驱动维护方面展现了卓越的技术优势,其高效、可靠的更新机制赢得了广泛认可。许多用户和专家建议,微软应考虑在其Windows 10系统中借鉴这一先进功能,以提升系统的稳定性和用户体验。 ... [详细]
  • RancherOS 是由 Rancher Labs 开发的一款专为 Docker 设计的轻量级 Linux 发行版,提供了一个全面的 Docker 运行环境。其引导镜像仅 20MB,非常适合在资源受限的环境中部署。本文将详细介绍如何在 ESXi 虚拟化平台上安装和配置 RancherOS,帮助用户快速搭建高效、稳定的容器化应用环境。 ... [详细]
  • 对于内存仅为512MB、硬盘80GB的老旧设备,部署Ubuntu Server毫无压力。然而,许多平台仅支持CentOS系统,而CentOS默认要求1GB以上内存才能使用图形界面安装。实际上,安装完成后,即使内存低至256MB也能正常运行。此外,通过优化系统配置和减少不必要的服务,可以进一步提升系统性能,确保在资源受限的环境中稳定运行。 ... [详细]
  • PJSIP 编译与开发指南:深入解析 PJSIP 库的应用与优化
    PJSIP 编译与开发指南:深入解析 PJSIP 库的应用与优化 ... [详细]
  • 在前一篇文章中,我们介绍了如何使用Requests库发送GET请求。本文将深入探讨如何通过Requests库发送POST请求,包括参数格式、请求封装等关键技巧,并通过“历史上的今天”API实例进行详细说明。 ... [详细]
  • 如何在Linux环境中高效地创建、编译与运行C语言代码
    本文面向第一次在linux尝试写C语言程序的新人。有经验的请绕行。C语言用法不是本文介绍的关键,本文只是引入如何第一次在linux系统下编写、编译和执行一个简单的c程序。学会后请自行深入 ... [详细]
  • Lunix历史及如何学习
    1.Lunix是什么1.1Lunix是操作系统还是应用程序Lunix是一套操作系统,它提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构, ... [详细]
author-avatar
Aovte
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有